home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / game / patch / WHDIGamesU-Z.lzh / WildWestWorld.lha / WildWestWorld Install / Install next >
Text File  |  2002-10-06  |  11KB  |  376 lines

  1. ; $Id$
  2.  
  3. (set #sub-dir "data")            ;sub directory containing data files
  4. (set #readme-file "ReadMe")        ;name of readme file
  5. (set #man-file "Manual")        ;name of manual file
  6. (set #hint-file "Hints")        ;name of hint file
  7. (set #sol-file "Solution")        ;name of solution file
  8. (set #highs-file "highs")        ;name of high scores file
  9. (set #prefix @app-name)            ;name of slave, directory
  10.  
  11. (set #ico_suffix_00 "inf")        ;Icon suffixes (not all of these must exist)
  12. (set #ico_suffix_01 "magicwb")
  13. (set #ico_suffix_02 "romicon")
  14. (set #ico_suffix_03 "newicon")
  15. (set #ico_suffix_04 "newexot")
  16. (set #ico_suffix_05 "coloricon")
  17. (set #ico_suffix_06 "colexot")
  18. (set #ico_suffix_07 "colfrank")
  19. (set #ico_suffix_08 "colchris")
  20. (set #ico_suffix_09 "colcode")
  21. (set #ico_suffix_10 "colcfou")
  22. (set #ico_suffix_11 "colakira")
  23.  
  24. ;Icon descriptions (max 21 chars if you have > 9 entries, or 27 chars otherwise.
  25. ;These are renamed to "gamename.info" so no illegal characters like :/* etc
  26. ;          "123456789012345678901234567"
  27. (set #ico_desc_00 "Normal")
  28. (set #ico_desc_01 "MagicWB Icon")
  29. (set #ico_desc_02 "RomIcon")
  30. (set #ico_desc_03 "NewIcon")
  31. (set #ico_desc_04 "NewIcon by Exotica")
  32. (set #ico_desc_05 "OS3.5 Icon")
  33. (set #ico_desc_06 "OS3.5 Icon by Exotica")
  34. (set #ico_desc_07 "OS3.5 Icon by Frank")
  35. (set #ico_desc_08 "OS3.5 Icon by Chris Vella")
  36. (set #ico_desc_09 "OS3.5 Icon by Codetapper")
  37. (set #ico_desc_10 "OS3.5 Icon by CFou")
  38. (set #ico_desc_11 "OS3.5 Icon by Akira")
  39.  
  40. (procedure P_Install
  41. (set #AD_disk10 "WildWestWorld_1")
  42. (set #AD_disk12 "WWW_V1.2")
  43. (set #AD_disk20 "WWW_V2.0")
  44. (set #AD_disk21 "WWW_V2.1_engl")
  45. (set #AD_disk
  46.   (askchoice
  47.     (prompt "What's the name of your first original disk?")
  48.     (default 0)
  49.     (choices #AD_disk10 #AD_disk12 #AD_disk20 #AD_disk21)
  50.     (help @askchoice-help)
  51.   )
  52. )
  53. (select #AD_disk
  54.   (
  55.     (set #AD_disk1 #AD_disk10)
  56.     (set #AD_disk2 "WWW_1")
  57.   )
  58.   (
  59.     (set #AD_disk1 #AD_disk12)
  60.     (set #AD_disk2 "WWW_1")
  61.   )
  62.   (
  63.     (set #AD_disk1 #AD_disk20)
  64.     (set #AD_disk2 "WWW_1")
  65.     (copyfiles
  66.       (help @copyfiles-help)
  67.       (source ("%s:c" #AD_disk1))
  68.       (dest #dest)
  69.       (choices "run" "setmap")
  70.     )
  71.   )
  72.   (
  73.     (set #AD_disk1 #AD_disk21)
  74.     (set #AD_disk2 "WWW_II_engl")
  75.   )
  76. )
  77. (set #AD_disk #AD_disk1)
  78. (P_disk)
  79. (copyfiles
  80.   (help @copyfiles-help)
  81.   (source ("%s:" #AD_disk))
  82.   (dest #dest)
  83.   (choices "bilder" "devs" "fonts" "kleinbilder" "nachricht" "sound")
  84. )
  85. (copyfiles
  86.   (help @copyfiles-help)
  87.   (source ("%s:libs" #AD_disk))
  88.   (dest #dest)
  89.   (choices "diskfont.library")
  90. )
  91. (copyfiles
  92.   (help @copyfiles-help)
  93.   (source ("%s:s" #AD_disk))
  94.   (dest #dest)
  95.   (choices "www_start" "wildwestworld")
  96. )
  97.  
  98. (set #AD_disk #AD_disk2)
  99. (P_disk)
  100. (copyfiles
  101.   (help @copyfiles-help)
  102.   (source ("%s:" #AD_disk))
  103.   (dest #dest)
  104.   (all)
  105. )
  106. )
  107.  
  108. ;****************************
  109. ;----------------------------
  110. ; checks if given program is installed, if not abort install
  111. ; #program - to check
  112.  
  113. (procedure P_ChkRun
  114.   (if (= 0 (run ("cd SYS:\nWhich %s >NIL:" #program)))
  115.     ("")
  116.     (abort
  117.       (cat
  118.     "You must install \"" #program "\" first!\n"
  119.     "It must be accessible via the path.\n"
  120.     "You can find it in the WHDLoad package."
  121.       )
  122.     )
  123.   )
  124. )
  125.  
  126. ;----------------------------
  127. ; Wait for inserting disk
  128. ; IN:  #AD_disk - name of disk
  129. ; OUT: -
  130.  
  131. (procedure P_disk
  132.   (askdisk
  133.     (dest #AD_disk)
  134.     (prompt ("\nInsert Disk \"%s\" in any drive!" #AD_disk))
  135.     (help @askdisk-help)
  136.   )
  137. )
  138.  
  139. ;----------------------------
  140. ; copy file including icon if exist
  141. ; #copy-file - name of file to copy
  142.  
  143. (procedure P_CopyFile
  144.   (if (exists #copy-file) (
  145.     (copyfiles
  146.       (help @copyfiles-help)
  147.       (source #copy-file)
  148.       (dest #dest)
  149.     )
  150.     (if (exists ("%s.info" #copy-file)) (
  151.       (copyfiles
  152.         (help @copyfiles-help)
  153.         (source ("%s.info" #copy-file))
  154.         (dest #dest)
  155.       )
  156.       (tooltype
  157.         (dest (tackon #dest #copy-file))
  158.         (noposition)
  159.       )
  160.     ))
  161.   ))
  162. )
  163.  
  164. ;****************************
  165.  
  166. (if (< @installer-version (+ (* 44 65536) 10))
  167.   (
  168.     (message
  169.       (cat
  170.         "Warning: your installer is outdated.\n"
  171.         "Some features of this installation won't be available, "
  172.         "such as icon show and drawer opening. "
  173.         "You have version " (/ @installer-version 65536) "." 
  174.         (BITAND @installer-version 65535) ", recommended is version 44.10. "
  175.         "The 'installer' 44.10 comes with OS 3.5 but is also contained in the NDK 3.9. "
  176.         "You may also use the InstallerNG by Jens Tröger."
  177.         "\n\n"
  178.         "The installers can be obtained from the net:\n"
  179.         "http://www.amiga.com/3.9/download/NDK3.9.lha\n"
  180.         "aminet:util/sys/InstallerNG.lha"
  181.       )
  182.     )
  183.     (set #newstuff 0)
  184.   )
  185.   (set #newstuff 1)
  186. )
  187.  
  188. (if (exists #readme-file)
  189.   (if (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  190.     ("")
  191.     (run ("SYS:Utilities/More %s" #readme-file))
  192.   )
  193. )
  194.  
  195. (set #program "WHDLoad")
  196. (P_ChkRun)
  197.  
  198. (if (getenv "WHDLInstPath")
  199.   (set @default-dest (getenv "WHDLInstPath"))
  200. )
  201. (set #dest
  202.   (askdir
  203.     (prompt
  204.       (cat
  205.     "Where should \"" @app-name "\" be installed?\n"
  206.     "A drawer \"" #prefix "\" will be automatically created."
  207.       )
  208.     )
  209.     (help @askdir-help)
  210.     (default @default-dest)
  211.   )
  212. )
  213. (run ("setenv WHDLInstPath \"%s\"\ncopy ENV:WHDLInstPath ENVARC:" #dest))
  214. (set #dest (tackon #dest #prefix))
  215. (if (exists #dest) (
  216.   (set #choice
  217.     (askbool
  218.       (prompt
  219.         (cat
  220.           "\nDirectory \"" #dest "\" already exists.\n"
  221.           "Should it be deleted?"
  222.         )
  223.       )
  224.       (default 1)
  225.       (choices "Delete" "Skip")
  226.       (help @askbool-help)
  227.     )
  228.   )
  229.   (if (= #choice 1)
  230.     (delete #dest
  231.       (help @delete-help)
  232.       (all)
  233.     )
  234.   )
  235. ))
  236. (makedir #dest
  237.   (help @makedir-help)
  238.   (infos)
  239. )
  240.  
  241. ;----------------------------
  242.  
  243. (copyfiles
  244.   (help @copyfiles-help)
  245.   (source ("%s.Slave" #prefix))
  246.   (dest #dest)
  247. )
  248. (set #icon 0)
  249. (if (exists ("%s.%s" #prefix #ico_suffix_11)) ((set #icon 11)(set #icnt (+ 1 #icnt))(set #icon_11 #ico_desc_11)) (set #icon_11 ""))
  250. (if (exists ("%s.%s" #prefix #ico_suffix_10)) ((set #icon 10)(set #icnt (+ 1 #icnt))(set #icon_10 #ico_desc_10)) (set #icon_10 ""))
  251. (if (exists ("%s.%s" #prefix #ico_suffix_09)) ((set #icon 9) (set #icnt (+ 1 #icnt))(set #icon_09 #ico_desc_09)) (set #icon_09 ""))
  252. (if (exists ("%s.%s" #prefix #ico_suffix_08)) ((set #icon 8) (set #icnt (+ 1 #icnt))(set #icon_08 #ico_desc_08)) (set #icon_08 ""))
  253. (if (exists ("%s.%s" #prefix #ico_suffix_07)) ((set #icon 7) (set #icnt (+ 1 #icnt))(set #icon_07 #ico_desc_07)) (set #icon_07 ""))
  254. (if (exists ("%s.%s" #prefix #ico_suffix_06)) ((set #icon 6) (set #icnt (+ 1 #icnt))(set #icon_06 #ico_desc_06)) (set #icon_06 ""))
  255. (if (exists ("%s.%s" #prefix #ico_suffix_05)) ((set #icon 5) (set #icnt (+ 1 #icnt))(set #icon_05 #ico_desc_05)) (set #icon_05 ""))
  256. (if (exists ("%s.%s" #prefix #ico_suffix_04)) ((set #icon 4) (set #icnt (+ 1 #icnt))(set #icon_04 #ico_desc_04)) (set #icon_04 ""))
  257. (if (exists ("%s.%s" #prefix #ico_suffix_03)) ((set #icon 3) (set #icnt (+ 1 #icnt))(set #icon_03 #ico_desc_03)) (set #icon_03 ""))
  258. (if (exists ("%s.%s" #prefix #ico_suffix_02)) ((set #icon 2) (set #icnt (+ 1 #icnt))(set #icon_02 #ico_desc_02)) (set #icon_02 ""))
  259. (if (exists ("%s.%s" #prefix #ico_suffix_01)) ((set #icon 1) (set #icnt (+ 1 #icnt))(set #icon_01 #ico_desc_01)) (set #icon_01 ""))
  260. (if (exists ("%s.%s" #prefix #ico_suffix_00)) ((set #icon 0) (set #icnt (+ 1 #icnt))(set #icon_00 #ico_desc_00)) (set #icon_00 ""))
  261. (procedure P_Icon
  262.   (copyfiles
  263.     (help @copyfiles-help)
  264.     (source ("%s.%s" #prefix #icon-suf))
  265.     (newname ("%s.info" #icon-name))
  266.     (dest #icon-dir)
  267.   )
  268.   (tooltype
  269.     (dest (tackon #icon-dir #icon-name))
  270.     (noposition)
  271.   )
  272. )
  273. (if (> #icnt 1) (
  274.   (if (= #newstuff 1) (
  275.     (set #icon-dir ("T:%s Icons" #prefix))
  276.     (makedir #icon-dir
  277.       (help @makedir-help)
  278.     )
  279.     (if #icon_00 ((set #icon-suf #ico_suffix_00) (set #icon-name #ico_desc_00) (P_Icon)))
  280.     (if #icon_01 ((set #icon-suf #ico_suffix_01) (set #icon-name #ico_desc_01) (P_Icon)))
  281.     (if #icon_02 ((set #icon-suf #ico_suffix_02) (set #icon-name #ico_desc_02) (P_Icon)))
  282.     (if #icon_03 ((set #icon-suf #ico_suffix_03) (set #icon-name #ico_desc_03) (P_Icon)))
  283.     (if #icon_04 ((set #icon-suf #ico_suffix_04) (set #icon-name #ico_desc_04) (P_Icon)))
  284.     (if #icon_05 ((set #icon-suf #ico_suffix_05) (set #icon-name #ico_desc_05) (P_Icon)))
  285.     (if #icon_06 ((set #icon-suf #ico_suffix_06) (set #icon-name #ico_desc_06) (P_Icon)))
  286.     (if #icon_07 ((set #icon-suf #ico_suffix_07) (set #icon-name #ico_desc_07) (P_Icon)))
  287.     (if #icon_08 ((set #icon-suf #ico_suffix_08) (set #icon-name #ico_desc_08) (P_Icon)))
  288.     (if #icon_09 ((set #icon-suf #ico_suffix_09) (set #icon-name #ico_desc_09) (P_Icon)))
  289.     (if #icon_10 ((set #icon-suf #ico_suffix_10) (set #icon-name #ico_desc_10) (P_Icon)))
  290.     (if #icon_11 ((set #icon-suf #ico_suffix_11) (set #icon-name #ico_desc_11) (P_Icon)))
  291.     (openwbobject #icon-dir)
  292.   ))
  293.   (set #icon
  294.     (askchoice
  295.       (prompt "\nWhich icon would you like to install?\n")
  296.       (choices #icon_00 #icon_01 #icon_02 #icon_03 #icon_04 #icon_05 #icon_06 #icon_07 #icon_08 #icon_09 #icon_10 #icon_11)
  297.       (default #icon)
  298.       (help @askchoice-help)
  299.     )
  300.   )
  301.   (if (= #newstuff 1) (
  302.     (closewbobject #icon-dir)
  303.     (delete #icon-dir
  304.       (help @delete-help)
  305.       (all)
  306.     )
  307.   ))
  308. ))
  309. (select #icon
  310.   (set #icon #ico_suffix_00)
  311.   (set #icon #ico_suffix_01)
  312.   (set #icon #ico_suffix_02)
  313.   (set #icon #ico_suffix_03)
  314.   (set #icon #ico_suffix_04)
  315.   (set #icon #ico_suffix_05)
  316.   (set #icon #ico_suffix_06)
  317.   (set #icon #ico_suffix_07)
  318.   (set #icon #ico_suffix_08)
  319.   (set #icon #ico_suffix_09)
  320.   (set #icon #ico_suffix_10)
  321.   (set #icon #ico_suffix_11)
  322. )
  323. (copyfiles
  324.   (help @copyfiles-help)
  325.   (source ("%s.%s" #prefix #icon))
  326.   (newname ("%s.info" #prefix))
  327.   (dest #dest)
  328. )
  329. (if (= #icon "newicon")
  330.   ("")
  331.   (
  332.     (tooltype
  333.       (dest (tackon #dest #prefix))
  334.       (settooltype "Slave")
  335.       (settooltype "PreLoad")
  336.     )
  337.     (tooltype
  338.       (dest (tackon #dest #prefix))
  339.       (settooltype "PreLoad" "")
  340.       (settooltype "Slave" ("%s.Slave" #prefix))
  341.     )
  342.   )
  343. )
  344. (tooltype
  345.   (dest (tackon #dest #prefix))
  346.   (setdefaulttool "WHDLoad")
  347.   (setstack 10240)
  348.   (noposition)
  349. )
  350. (set #copy-file #readme-file)
  351. (P_CopyFile)
  352. (set #copy-file #man-file)
  353. (P_CopyFile)
  354. (set #copy-file #hint-file)
  355. (P_CopyFile)
  356. (set #copy-file #sol-file)
  357. (P_CopyFile)
  358. (set #dest-org #dest)
  359. (if (= #sub-dir "")
  360.   ("")
  361.   (
  362.     (set #dest (tackon #dest #sub-dir))
  363.     (makedir #dest
  364.       (help @makedir-help)
  365.     )
  366.   )
  367. )
  368. (set #copy-file #highs-file)
  369. (P_CopyFile)
  370. (P_Install)
  371. (if (= #newstuff 1)
  372.   (openwbobject #dest-org)
  373. )
  374. (set @default-dest #dest-org)
  375. (exit)
  376.